Dependently typing JVM method invocation

نویسندگان

  • Songtao Xia
  • James Hook
چکیده

Code certi cation is a promising technique that supports secure and e cient applications on the internet. Annotating code with index types allows strong program properties to be asserted and checked. In this paper, we report our experience of applying a restricted form of dependent types to JVMLi, a subset of Java Virtual Machine Language (JVML). The result is a type system for JVMLi that can guarantee safe elimination of some of the array bound checks. We show how our restriction on the type terms results in a clean coding of method invocation in this rst-order language with explicit control. We also discuss the trade-o between expressive power and decidability, which is a key issue of the type system for code certi cation. In addition, we describe our implementation of the type system.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Kaffemik: Supporting a distributed JVM on a single address space architecture

Java is increasingly used to develop large server applications. In order to provide powerful platforms for such applications a number of projects have proposed Java Virtual Machines (JVMs) that are based on network of workstations. These JVMs employ the message-passing paradigm, i.e. all communication between the distributed instances of the virtual machine take place using remote method invoca...

متن کامل

Thread Synchronization Policies in DrJava

The Architecture of DrJava DrJava is a pure Java application involving two Java Virtual Machines (JVMs): (i) a master JVM that supports the user interface, the DrJava editor, and DrJava compilation; and (ii) a slave JVM that runs the interpreter and unit tests. DrJava currently uses the Java RMI library to support communication between the master and slave JVMs. In the future, a lighter weight ...

متن کامل

Implementing a Language with Flow-Sensitive and Structural Typing on the JVM

Dynamically typed languages are flexible and impose few burdens on the programmer. In contrast, static typing leads to software that is more efficient and has fewer errors. However, static type systems traditionally require every variable to have one type, and that relationships between types (e.g. subclassing) be declared explicitly. The Whiley language aims to hit a sweet spot between dynamic...

متن کامل

A Formal Speci cation of Java Virtual Machine Instructions for Objects Methods and Subroutines

In this chapter we formally specify a subset of Java Virtual Machine JVM instructions for objects methods and subroutines based on the o cial JVM Speci cation the o cial Java Language Speci cation and Sun s JDK imple mentation of the JVM Our formal speci cation describes the runtime behaviors of the instructions in relevant memory areas as state transitions and most structural and linking const...

متن کامل

A Formal Speci cation of JavaTM

In this chapter we formally specify a subset of Java Virtual Machine (JVM) instructions for objects, methods and subroutines based on the oocial JVM Speciication, the oocial Java Language Speciication and Sun's JDK 1.1.4 implementation of the JVM. Our formal speciication describes the runtime behaviors of the instructions in relevant memory areas as state transitions and most structural and lin...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000